module.exports = (function() {

  var util = {
    init: init,
    phoneNumberType: phoneNumberType //判断手机号,后台已做判断，前端暂不做
  };

  function init(){
    _DateFormat();

  }

  /**
   * 日期格式化
   * @private
   */
  function _DateFormat(){
    // 对Date的扩展，将 Date 转化为指定格式的String
    // 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符，
    // 年(y)可以用 1-4 个占位符，毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
    // 例子：
    // (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
    // (new Date()).Format("yyyy-M-d h:m:s.S")      ==> 2006-7-2 8:9:4.18
    Date.prototype.Format = function(fmt)
    { //author: meizz
      var o = {
        "M+" : this.getMonth()+1,                 //月份
        "d+" : this.getDate(),                    //日
        "h+" : this.getHours(),                   //小时
        "m+" : this.getMinutes(),                 //分
        "s+" : this.getSeconds(),                 //秒
        "q+" : Math.floor((this.getMonth()+3)/3), //季度
        "S"  : this.getMilliseconds()             //毫秒
      };
      if(/(y+)/.test(fmt))
        fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
      for(var k in o)
        if(new RegExp("("+ k +")").test(fmt))
          fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
      return fmt;
    };
  }

  /**
   * 判断手机号 0：不是手机号；1：移动；2：联通；3：电信
   * @param number
   * @returns {number}
   */
  function phoneNumberType(number){
    var phoneNumber = /^1[3|4|5|7|8][0-9]\d{4,8}$/;//手机号
    var yidong = /^1((34|35|36|37|38|39|47|50|51|52|57|58|59|78|82|83|84|87|88)[0-9]|705)\d{3,7}$/;//移动
    var liantong = /^1((30|31|32|45|55|56|76|85|86)[0-9]|709)\d{3,7}$/;//联通
    var dianxin = /^1((33|53|80|81|89|77)[0-9]|700)\d{3,7}$/;//电信
    var t = phoneNumber.test(number);
    var t1 = yidong.test(number);
    var t2 = liantong.test(number);
    var t3 = dianxin.test(number);
    if(t){
      return t1?1:(t2?2:(t3?3:''));
    }else{
      return 0;
    }
  }

  return util
})();